package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import action.RegisterUserAction;
import action.UserRegisterAction;

public class UserRegisterServlet extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public UserRegisterServlet() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out
				.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		out.print("    This is ");
		out.print(this.getClass());
		out.println(", using the GET method");
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		String email = request.getParameter("email");
		String nameCn = request.getParameter("userName");
		String passWord = request.getParameter("passWord");
		String sex = request.getParameter("sex");
		Integer age = Integer.valueOf(request.getParameter("age"));
		String weight = request.getParameter("weight");
		String height = request.getParameter("height");
		String bloodType = request.getParameter("bloodType");
		String belief = request.getParameter("belief");
		String degree = request.getParameter("degree");
		String industry = request.getParameter("industry");
		String income = request.getParameter("income");
		String province = request.getParameter("province");
		String marriage = request.getParameter("marriage");
		String bak1 = request.getParameter("bak1");
		String bak2 = request.getParameter("bak2");
		RegisterUserAction rua = new RegisterUserAction(email,passWord,nameCn,
				sex,age,weight, height,
				bloodType,belief,degree,industry,
				income,province,marriage,bak1,bak2);
		int result = rua.addUser();
		Map map = new HashMap();
		switch(result){
		case 0: map.put("message", "注册失败，向数据库写入失败");break;
		case 1: map.put("message", "恭喜您注册成功！");break;
		case 2: map.put("message", "用户名已存在！");break;
		}
		Object obj = map.get("message");
		request.setAttribute("message", obj);
		if(result==1){
			request.getRequestDispatcher("/jsp/userInfo/userRegister.jsp").forward(request, response);
		}else{
			request.getRequestDispatcher("/jsp/userInfo/userRegister.jsp").forward(request, response);
		}
	}

	/**
	 * Initialization of the servlet. <br>
	 *
	 * @throws ServletException if an error occurs
	 */
	public void init() throws ServletException {
		// Put your code here
	}

}
